System and methods for remotely accessing a selected group of items of interest from a database

ABSTRACT

A user can access a common database from a remote communications port, at any qualified location, to generate a map or other positional information which locates selected items of interest, e.g., businesses, stores, architectural sites, and the like. The database contains information representing the items of interest, including, for each of the items of interest, positional coordinates, a geographic vicinity, and a selected category. The positional coordinates discretely locate the vicinity, while the vicinity specifies the exact locations of the items of interest in the selected category. For example, a user in New York can select the display of sporting shops in the area surrounding Chicago O&#39;Hara International Airport selectively. A user can also access a port and display locations of items of interest within the same vicinity as the user and relative to the user&#39;s position. The database can be modified from qualified remote locations to change, or add to, the information therein. An advertisement can be tagged to the display or print out as an association with the selected items of interest.

[0001] A portion of the disclosure of this patent document containsmaterial which is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdocument or the patent disclosure, as it appears in the Patent andTrademark Office patent file or records, but otherwise reserves allcopyright rights whatsoever.

BACKGROUND OF THE INVENTION

[0002] Electronic directories for identifying selected subscriberswithin a city are known in the prior art. For example, U.S. Pat. No.4,974,170 describes one system which includes a fixed kiosk with aninternal memory for storing locations such as businesses and historicalsites within a predetermined distance from the kiosk. An input panel onthe kiosk provides access to the data within the memory, and a map isgenerated by the system thereby locating the selected information fromthe kiosk.

[0003] However, such a system is inflexible. The map generated by thesystem is predefined; and thus the user cannot access or selectinformation about businesses and historical sites outside of thepredefined map. A user of the system must also know the exact locationof the kiosk in order to use the system. Tourists and business travelersto the city are unlikely to know of the kiosk; and thus the kiosk systemis of little use to such users. Further, a user must be physicallypresent at the kiosk in order to access the information about thebusinesses and/or sites in the surrounding area.

[0004] In addition, the information stored within the kiosk's memorymust be manually updated. This requires a series of cumbersomesteps—including the physical acts of loading and downloading to thememory at the kiosk—to update the system in the event that informationabout a selected business changes, e.g., the business closes.

[0005] It is, accordingly, an object of the invention to provide systemsand methods which reduce or remove the aforementioned difficulties.

[0006] It is yet another object of the invention to provide a system forremotely accessing selective items of interest from a database; and fordisplaying a geographic vicinity of the items of interest to the userselectively and at the remote location.

[0007] Still another object of the invention is to provide a system forremotely providing information identifying locations of selected itemsof interest at a selected destination location.

[0008] These and other objects will be apparent in the specificationwhich follows.

SUMMARY OF THE INVENTION

[0009] As used herein, “items of interest” means services, products,geographic sites, architectural sites, stores, restaurants, publicservices, and other items which a user of the invention may wish tolocate. “Port,” “remote access port,” “terminal,” or “remote accessterminal” are used interchangeably to denote a terminal, e.g., apersonal computer with modem, from which a user of the invention canaccess the database storing the information about the items of interest.“Remote database” or “database” are used herein to denote a database,e.g., a client server, which stores information for access by a user ofthe invention from a port. “Communication link” is used to denote means,including for example a telephone line, for communicating between thedatabase and the port. “Geographic vicinity,” and “map” are used todenote a geographic region which includes and surrounds selected itemsof interest.

[0010] In one aspect, the invention provides a system for remotelydetermining the position of a selected category of items of interest ina selected geographic vicinity from a database. A database storesinformation about a plurality of items of interest, including, for eachof the items of interest, positional coordinates, a geographic vicinity,and at least one associated category. A communications link facilitatescommunications between a user of the system and the database. The systemalso provides for transmitting a portion of the information in thedatabase to a user via the link upon receipt of a request signalrepresentative of a selected category and geographic vicinity.Preferably, that transmitted portion of the information includesidentification of a position for the items of interest within theselected category and geographic vicinity. The system further provides aport for remotely accessing the portion of information via the link.Specifically, the port generates the request signal in response toinputs by a user of the system; that signal being representative of theselected category and geographic vicinity. A user interface at the portaccepts the inputs and communicates the position of each of the items ofinterest in the selected category and geographic vicinity to the user.

[0011] In accord with other aspects of the invention, the communicationslink can include several technologies, including a telephone link,satellite link, radio-frequency link, infra-red link, internet link,facsimile link, fiber-optic link, coaxial cable link and televisionlink. The database is, typically, a personal computer, mainframe,work-station, mini-computer, or digital data processor. To communicatethe information to a user, the user interface can include a television,telephone, facsimile, audible speaker, and/or personal computer display.To accept user inputs at the port, the user interface can furtherinclude a television interface, telephone interface, facsimileinterface, and/or a personal computer interface.

[0012] Preferably, the geographic vicinity includes certain spatialdetail of the items of interest. For example, the geographic vicinitycan include a map of the items of interest in the selected category, aswell as street and landmark information displayed relative to the user'sposition at the remote port. As such, the set of positional coordinatesgenerally identifies either (i) a location of a user of the system, or(ii) a destination location within the geographic vicinity.

[0013] In certain aspects of the invention, the information within thedatabase further includes additional detail about at least one of theitems of interest. Such a feature is advantageous in that, once the portdisplays the geographic vicinity with the items of interest, a user canthereafter select further additional detail about one or more of theitems of interest. In this manner, for example, an item of interest suchas a restaurant can display a picture of the interior of the restaurantto the user. The additional detail can include other multimediainformation, such as video, prerecorded music, and digital pictures.

[0014] In still another aspect, the invention also communicates at leastone advertisement associated with at least one of the items of interestto the user. As such, certain advertisers that are connected with theselected category of items of interest can promote a name or business.

[0015] In one aspect of the invention, the information within thedatabase is arranged hierarchically. In this aspect, there are aplurality of discrete geographic vicinities (each set of positionalcoordinates corresponding to one discrete location within the geographicvicinity). The system thus provides for hierarchically selecting any ofthe discrete vicinities from the port in a hierarchical manner.

[0016] In still another aspect of the invention, database apparatus isprovided for storing information about a plurality of items of interest.As above, that information includes, for each of the items of interest,positional coordinates, a geographic vicinity, and at least oneassociated category. A communications link provides for communicatingbetween a user of the database apparatus and a remote port. The databaseapparatus further provides for transmitting a portion of the informationto a user via the link upon receipt of a request signal representativeof a geographic vicinity and a selected category of the items ofinterest. That transmitted portion of the information includes anidentification of a position for the items of interest within theselected category and geographic vicinity.

[0017] The invention also provides, in another aspect, a remote accessport for remotely accessing a selected category of items of interest ina selected geographic vicinity from a database such as described above.The port includes means for generating a request signal representativeof a selected category and a selected geographic vicinity of the itemsof interest in response to inputs by a user of the port. A userinterface accepts the inputs and indicates the position of each of theitems of interest within the selected category and geographic vicinity.

[0018] In another aspect, the information includes additional detail forat least one of the items of interest, and the port further includesmeans for (i) generating a signal representative of a selection of atleast one of the items of interest, and (ii) communicating theadditional detail to the user.

[0019] The invention also provides a method for remotely determining theposition of a selected category of items of interest in a selectedgeographic vicinity from a database, comprising the steps of: (i)storing information about a plurality of items of interest in thedatabase, the information including, for each of the items of interest,positional coordinates, a geographic vicinity, and at least oneassociated category; (ii) accessing the database from a remote locationand over a communication link; (iii) communicating, from the remotelocation, information representative of a selected category and aselected geographic vicinity to the database; and (iv) transmitting aportion of the information from the database and to the user over thelink, the information including, at least, identification of a positionfor the items of interest within the selected category and geographicvicinity.

[0020] The invention is next described further in connection withpreferred embodiments, and it will be apparent that various additions,subtractions, and modifications can be made by those skilled in the artwithout departing from the scope of the invention.

BRIEF DESCRIPTION OF THE ILLUSTRATE EMBODIMENTS

[0021] A more complete understanding of the invention may be obtained byreference to the drawings, in which:

[0022]FIG. 1 schematically illustrates a system constructed according tothe invention;

[0023]FIG. 2 shows a typical graphical illustration locating items ofinterest and which can be displayed to a user of the system of FIG. 1;

[0024]FIG. 3 shows a user interface display of various world-widecountries providing selectable locations according to the invention andwhich can be displayed to a user of the system of FIG. 1;

[0025]FIG. 3A shows a user interface display of a map of theUnited-States providing selectable locations according to the inventionand which can be displayed to a user of the system of FIG. 1;

[0026]FIG. 3B shows a user interface display of a map of Californiaproviding selectable locations according to the invention and which canbe displayed to a user of the system of FIG. 1;

[0027]FIG. 3C shows a user interface display of various selectablelocations within greater Los Angeles according to the invention andwhich can be displayed to a user of the system of FIG. 1;

[0028]FIG. 4 illustrates a top level process flow, according to theinvention, for providing information to a user at the remote port ofFIG. 1;

[0029]FIG. 4A shows a hierarchical structure of geographical vacinities,according to the invention;

[0030]FIG. 5 shows a typical menu of categories of items of interestwhich are selectable by a user of the system of FIG. 1;

[0031]FIGS. 6A and 6B illustrate various components and methods,according to the invention, for constructing a communications linksuitable for use in the system of FIG. 1;

[0032]FIGS. 7A and 7B illustrate various remote port displaytechnologies, according to the invention, which are suitable for usewithin the remote port of the system of FIG. 1;

[0033]FIG. 8 illustrates a system constructed according to the inventionand which includes a mobile remote port for accessing the locations ofthe selected items of interest;

[0034]FIG. 9 schematically illustrates system architecture, constructedaccording to the invention, which forms a database suitable for use asthe database of FIG. 1, and which services both phone and faxinformation and internal administrative data;

[0035]FIG. 10 shows one system architecture according to the invention,and which includes a host database and a remote port;

[0036]FIG. 11 illustrates process flow and system architecture forinterfacing between user inputs and the database, in accord with theinvention; and

[0037]FIG. 12 shows one representative display or print-out, accordingto the invention, which includes an advertising field associated withthe items of interest.

DETAILED DESCRIPTION

[0038]FIG. 1 illustrates a system 10 constructed according to theinvention. A database 12 stores information about the items of interest,including information about locating the items of interest. The database12 includes an information controller 14 which communicates with aremote access port 16 via a communications link 18 and which controlsthe access and flow of information into and out of the database 12. Theinformation within the database 12 is accessible by the remote accessport 16 upon request by a user of the port 16. Accordingly, the port 16preferably includes a user interface section 20 which provides agraphical display 22, keyboard 24, and mouse tracker 25 (for pointingand clicking on selected display items within the display 22).

[0039] Specifically, the information within the database 12 includes,for each of the items of interest, positional coordinates, a geographicvicinity, and at least one associated category. Preferably, thisinformation includes a graphical representation so that a user caneasily interpret the information. FIG. 2 shows one exemplary display 30of information locating computer products in downtown Boston,Massachusetts. Accordingly, the associated category in this example is“computer products,” and, in the illustrated display 30, the geographicvicinity includes the selected items of interest, including (i) the twocomputer stores 32, 34 at, respectively, 52 Congress Street and 101Federal Street; and (ii) that area which is displayed within the display30 and which surrounds the items of interest, such as that areadisplayed between the streets of High Street and State Street.

[0040] The positional coordinates, as part of the selected information,operate to locate the geographic vicinity. Briefly, the positionalcoordinates locate one location within the geographic vicinity—such asthe center of the vicinity—so that items of interest can be determinedrelative to the positional coordinates and within the geographicvicinity. In addition, the geographic vicinity is preferably a rectangleof information, with North situated upwards.

[0041] In one preferred aspect of the invention, the display 30 iscentered relative to the location of the user (as such, the positionalcoordinates of the information are set to the user's present position).For example, if the hotel 36 at 25 Franklin Street has a port 16therein, a user of the invention can (i) access that particular port andhence the information within the database 12, and (ii) display the itemsof interest relative to the user's current location, i.e., at the hotel36. Accordingly, in this embodiment, the display 30 is generated withthe hotel 36 at the center of the display—corresponding to thepositional coordinates of 25 Franklin Street—and the selected items ofinterest in the associated category are displayed on streets relative tothe hotel 36. In this fashion, a user can easily walk or drive to theitems of interest after leaving the hotel 36. Such a feature also givesthe “appearance” to the user that the hotel 36 is at the center ofactivity, a desirable marketing feature for the invention.

[0042] With further reference to FIG. 1, the controller 14 preferablyincludes a display 40 and a keyboard 42 so that an operator of thesystem 10 can add and modify the information within the database 12.This is especially useful because information about the items ofinterest changes regularly; and thus the information within the database12 is preferably updated on a regular basis so that users of the system12 receive accurate information. For example, in a typical commerciallocation such as illustrated in Figure 2, new retail stores open andexisting retail stores close throughout the year. The invention thusprovides for updating information within the database 12, such asthrough the control of a system operator typing commands at the keyboard42.

[0043] Alternatively, the system 10 provides for remotely updating thedatabase 12 with new information via any of the ports 16 or via a remotecomputer with a modem, described in more detail in connection with FIG.6A. Specifically, the controller 14 provides access security whichallows only authorized access for modification of the database 12. Assuch, a system administrator at a remote port 16 can downloadinformation to the database, or modify existing information within thedatabase, as needed and without physically operating the keyboard 42.

[0044] The communications link 18 of the invention can take many forms.It is generally impractical to “hard-wire” each remote access port 16 tothe database 12; so the form of the communications link 18 generallyincludes existing communication networks, such as one or more of thefollowing: telephone lines, fiber-optic cabling, satellitecommunications, cellular communications, radio and microwave-frequencycommunicators, infra-red communicators, the facsimile mechanism,airphones, modems, the internet, co-axial cabling, television includinginteractive TV communications, and the like. These communicationnetworks and subsystems are readily known to those skilled in the artwithout further reference hereto. Nevertheless, FIGS. 6A-6B illustraterepresentative communication links, according to the invention, whichcomprise one or more of these communication networks.

[0045] The displays 22 and 40 of FIG. 1 include those displays known tothose skilled in the art, including the cathode-ray-tube (CRT), LiquidCrystal Display (LCD), and an array of Light Emitting Diodes (LEDs).However, the display 22 can also take the form of a paper or voicecommunication port, such as a facsimile output (hard-copy), printer, avoice communication synthesizer with automated digitized voiceresponses, a voice-driven menu systems, or as other devices capable ofrendering digitized or analogue output signals. FIGS. 7A and 7B belowillustrate some of these alternative forms of the display 22.

[0046] The remote access port 16 is generally provided at locations ofpublic access in a city. Accordingly, the invention supports a nearlyunlimited number of ports 16 that are connected for communication withthe database 12, each of the ports being connected to the database 12such as shown in FIG. 1 and such as described in more detail below. Forexample, the port 16 of the invention is appropriately placed in one ormore hotels, restaurants, and public facilities (such as a trainstation) in the city. In Boston, Massachusetts, therefore, the port 16of the invention would ideally be accessible at several differentlocations, particularly at busy locations, such as at (i) North andSouth Stations, (ii) Logan Airport and at each of the several airportterminals, (iii) within several (or many, if not all) of Boston's hotelsand restaurants, and (iv) at car rental locations.

[0047] The invention provides, generally, two modes of operation for auser accessing the port 16. In the first mode of operation, the userwithin the desired geographic vicinity accesses the database through theport 16 for information about the items of interest located near-by.This mode was described in connection with FIG. 2. That is, when theuser is located within the geographic vicinity, e.g., at the hotel 36, auser can locate any of the items of interest relative to the hotel 36and display items of interest in the associated category, e.g., computerproducts, through a street map connecting streets to and from the hotel36. In this manner, as described above, a user can easily locate theitems of interest from his or her present location, which determines thepositional coordinates of the geographic vicinity.

[0048] In one embodiment of the invention, a user accesses this firstmode of operation by selecting the “LOCAL INFO” key 44 on the keyboard42, FIG. 1. Upon selection, the system 10 provides information, such asa graphical display shown in FIG. 2, at the port 16 to locate items ofinterest within the geographic vicinity of the user and relative to theuser's current location. The scope of the geographic vicinity isgenerally within walking distance.

[0049] In the second mode of operation, a user is nowhere near thedesired geographic vicinity but nevertheless desires information aboutitems of interest at a destination location (for example, it isgenerally impractical to display all items of interest within a onehundred mile radius; rather it is more convenient to display locationsof items of interest in a format that is relative to his desireddestination). In one embodiment of the invention, such a user selectsthe “REMOTE-INFO” key 48 to access the desired set of destinationposition coordinates. For example, a user who is leaving Boston LoganAirport for Los Angeles International Airport (LAX) can access a port 16at Logan and display, selectively, items of interest in an associatedcategory relative to LAX. For example, if a user of the invention wishesto locate music stores upon arrival in Los Angeles, she can command thedisplay of music stores relative to LAX so that they are easily located.

[0050] In order to command the display of items of interest at thedestination location, and in accord with one embodiment of theinvention, a user first selects “USA” at the port 16 via the keyboard24, then the user sequentially selects “California,” “Los Angeles,” andfinally “Los Angeles International Airport.” Each of these selectionsare provided to the user in a menu format on the display 22, such asknown to those skilled in the art.

[0051] FIGS. 3-3C schematically illustrate this display and selectionprocess according to one embodiment of the invention. FIGS. 3-3C showsuccessive displays which are displayed on the display 22, FIG. 1.Specifically, the system 10 of FIG. 1 first provides information to thedisplay 22 that represents a selection 50 of various countries which canbe selected by a user, such as shown in FIG. 3. In this example, a userselects the “United States” (such as shown by the check-mark 52). Thesystem 10 thereafter provides information to the display 22 thatrepresents a map 54 of the United States, shown in FIG. 3A, so that auser can point and select “California” with a mouse pointer 56 via themouse tracker 25. Upon selection, an outline 58 of California isdisplayed, including many, if not all, of its major cities, as shown inFIG. 3B (for illustrative purposes, only Los Angeles and San Franciscoare identified).

[0052] With the outline of California displayed, a user can select “LosAngeles” by again pointing the mouse pointer 56 onto the city identifiedas Los Angeles and clicking the mouse tracker 35. Thereafter, analphabetic listing 60 of well-known places is provided by the system tothe display 22, as shown in FIG. 3C, so that a user can, appropriately,select a geographic vicinity within which to locate the items ofinterest. In this example, a user would appropriately select Los AngelesInternational Airport, as illustrated with a check-mark 62.

[0053] As should be clear to those skilled in the art, the successivedisplay of information within the display 22 can be accomplished inseveral ways, each of which is within the scope of the invention. Forexample, the display of information shown in FIGS. 3-3C can be donethrough menus only, and without the map illustrations shown in FIG. 3Aand 3B. That is, a menu of information can replace the maps of FIGS. 3Aand 3B, such as for example provided in FIGS. 3 and 3C. A menu of theUnited States, for example, at least includes a listing of the severalstates; and a map of California at least includes a menu listing of itsmajor cities.

[0054] Likewise, the display of information on the display 22 canentirely be in graphical form. In such a case, the menus of FIG. 3 and3C are replaced, respectively, with (i) graphical representations of theworld, and (ii) graphical locations of key items of interest within thegreater Los Angeles area.

[0055] Accordingly, the default display of information to a usermonitoring the display 22 is a mixture of graphics and menus, such asshown in FIGS. 3-3C. However, a user can select only the display ofgraphic information by activating the “GRAPHICS” key 64, FIG. 1.Likewise, a user can also select the “MENU” key 66 to displayinformation in the menu (text) mode. Those skilled in the art shouldappreciate that other keys, key names, and combinations of keys can beused in accord with the invention to select and/or display otherinformation. For example, a print key 68 provides a command for printingthe current display of the port 16, which therefore preferably includesan attached printer 70 connected via communication line 71.

[0056]FIG. 4 illustrates one embodiment of the invention showing aprocess flow 73 for providing information about selected items ofinterest to a user at the remote port. The flow 73 includes instructionsat different levels of abstraction, such as at the U.S. level, citylevel, and at the specific areas of interest, which help a user toselect and locate the items of interest.

[0057] Thus, it is preferred, according to the invention, that a user'sselected display of items of interest within an associated category andgeographic vicinity is accessed hierarchically within the database 12.As such, each set of positional coordinates corresponds to a discreteremote port location of one geographic vicinity.

[0058]FIGS. 4 and 4A illustrate this hierarchical approach. If, forexample, a user at a remote port has commanded the display of onegeographic vicinity (i.e., an area of interest map) and selects thedisplay of a different geographic vicinity, it is necessary to firstreturn to the associated city map, or even to the U.S. map, depending onthe desired location, to access that different geographic vicinity.

[0059]FIG. 4A schematically illustrates this selection by way of a U.S.map 74 which includes two city maps 75, 76. The geographic vacinities 75a, 76 a within each city map, respectively, are selectable byhierarchically selecting the appropriate city map first. In this manner,if a user is currently displaying one vicinity 74 a, and desires adisplay of a vicinity 76 a, the user must first successively select thecity map 75, the U.S. map 74, and the city map 76. FIG. 4A alsoillustratively shows the positional coordinates 77 for each vicinity 75a, 76 a.

[0060]FIG. 5 illustrates one embodiment of the invention wherein a userselects the associated category for the items of interest from a displaymenu of possible items of interest. This display to select the categoryis preferably displayed upon activation of the remote port 16; or,alternatively, the display is commanded by a user of the system, such asby activating the “NEW SEARCH” key 76, FIG. 1. Accordingly, a user canstart a new search for items of interest in a selected category by firstpressing the “NEW SEARCH” key 76. Alternatively, a user can select anadditional category by selecting the “ADD CATEGORY” key 46. In thismanner, more than one category can be displayed at one time within thegeographic vicinity.

[0061] By way of example, upon pressing the key 76, FIG. 5 illustratesone embodiment of the invention which provides a listing of possiblecategories of items of interest in a menu 78. A user of the system 10can select any desired category in the menu, such as by pointing andclicking on the selected item. In this example, the user has selected“computer products,” a category which was used in the illustration ofFIG. 2 and which shows the selection by a check-mark 78. A user canthereafter press the “ADD CATEGORY” key 46 and select one other desiredcategory in the menu, such as “sporting goods stores”.

[0062] Alternative to the embodiment shown in FIG. 5, another embodimentof the invention provides a word association technique, known to thoseskilled in the art, which allows any category of items of interest to beselected by directly typing the desired search area. For example, a userof the invention could press the “NEW SEARCH” key 76 and thereafter type“computer equipment” or “computers,” or other similar association, andthe controller 14 of FIG. 1 would determine the best fit to the possiblecategories stored in the database 12 to display to the user. If theassociation were narrow enough, the system 10 immediately displays theitems of interest within the “computer products” category, as above.However, if the search is too broad, the system can prompt the user formore information (such as known to those skilled in the art). By way ofexample, if a user types “computers,” the system can question, orprompt, the user at the port 16 for “products,” “services,” or“rentals,” which can thereafter be selected by the user.

[0063] The advantages of a system constructed according to the inventionare several. Specifically, the invention provides a selectable displayof items of interest at nearly any location, remote from the user, orcentered relative to the user within the desired geographical vicinity.Further, once the display of the selected items of interest is isolated,the system provides a hard-copy for the user to walk away with. Withincreased usage of the invention, a corresponding increase in the numberof remote access ports provides flexibility for users who can, thereby,access the system from widely accessible commercial locations, e.g.,airports, car rental agencies, and train stations. In addition, theremote access port of the invention can be located at a user's home,providing even greater flexibility for those persons who regularlytravel (or who regularly need information about items of interest at aselected geographic vicinity). A person's home computer system providesdata processing capability which, with a modem and software configuredto communicate with the database, can provide many, if not all, of thefeatures of the remote access port 16 described above. As such, theremote access port of the invention can include personal computers,subnotebooks, notebooks, Apple's Newton product, facsimiles, phones,cellular, mainframes, minis, interactive television and/or hybridproducts.

[0064]FIG. 6A illustrates a system, including atelephone-modem-satellite communications link, constructed according tothe invention. Specifically, FIG. 6A shows a database 12 a andcontroller 14 a, which are illustratively located in the United Statesand which are similar to the database 12 and controller 14 of FIG. 1.The database and controller 12 a, 14 a connect and communicate with aremote port 16 a, which is illustratively located in Europe and which issimilar to the port 16 of FIG. 1. A modem 80 couples to the controller14 a, such as known to those skilled in the art, and further to atelephone line 18 a. The telephone line 18 a connects through thetelephone network to the telephone relay center 82 which providescommunications, such as overseas communications, to a remote relaycenter 84 via a satellite 86. The relay center 84 connects to the remoteport 16 a (including an internal modem 80 a) by the land-based telephoneline 18 a′ so that, in combination, a user of the remote port 16 a canaccess information from the database such as described above.

[0065] It should be apparent to those skilled in the art, for example,that the lines 18 a and 18 a′ can also be constructed with fiber-opticcabling, co-axial cabling, internet communications and the like.

[0066]FIG. 6B illustrates other embodiments of the invention forcommunicating between (i) the database 12 b and controller 14 b and (ii)the remote port 16 b. A cellular communicator 88 connects to thecontroller 14 b and communicates, via an antennae 90, with theestablished cellular communications network 92. The communications linkis completed with the remote port 16 b, including its own antenna 94 andcellular communicator 88 b, so that a user of the port 16 b cancommunicate, as above, with the database 12 b.

[0067] It should again be apparent to those skilled in the art that thecommunications methods described and illustrated herein can be modified,in accord with the invention, to form other communication links. Forexample, portions of the communications link of FIG. 6A can be mixedwith portions of the link of FIG. 6B to establish a working andacceptable link according to the invention.

[0068] Further, the communications link of FIG. 6B can be replaced withother communications mechanisms known to those in the art. For example,the antennas 90, 94 and communicators 88, 88 b can be replaced byradiowave or microwave devices which communicate via a compatiblenetwork instead of a cellular network 92.

[0069]FIG. 7A illustrates one embodiment of the invention wherein adisplay 22 c, such as the display 22 of FIG. 1, includes—or is replacedby—a hard-copy printer 100, such as a computer printer or facsimile. Insuch an embodiment, a user at the port 16 c receives a hard-copy 102 ofthe interactive communications between the port 16 c and the database12, FIG. 1. As above, the user commands selective display of data viathe keyboard 24 c and/or mouse tracker 25 c, and a display of thegeographic vicinity with the selected items of interest in the selectedcategory are provided via the printer 100.

[0070] It should be apparent to those skilled in the art that oneacceptable remote port, according to the invention, includes a portcomprising a printer 100 and a telephone (not shown). In such anembodiment, a user accesses the database by telephoning the database andrequesting a display of items of interest in the selected category andgeographic vicinity. The controller 14 of FIG. 1 can include voicerecognition software and hardware, known to those skilled in the art,which prompts the user for requests and identifies and responds to theuser's verbal replies. After identifying the user's desired category andpresent location (or intended destination location), the databasetransmits information in a form recognizable by the printer 100 so thatthe geographic vicinity and items of interest are displayed to the userat the telephone/printer remote port.

[0071] Alternatively, a user can fax selections for the category andgeographic vicinity of interest as a hard-copy. A system administratorat the database can interpret the user's selection sheet and command thetransmission of the requested information, including the items ofinterest, back to the user. Alternatively, the database can interpretthe user's selections on the sheet to automatically respond and transmitthe appropriate display of information, including the items of interest,to the user.

[0072]FIG. 7B shows another remote port 16 d which includes a voicegeneration system 110 and speaker 112. In such an embodiment, a user atthe port 16 d (i) listens to questions, or reads messages on the display22 d, as prompted by the database, and (ii) answers the questions by thekeyboard 24 d. After the system identifies the user's desired geographiclocation and category, a print-out or display of the information is madeavailable to the user, such as described above.

[0073]FIG. 8 illustrates a mobile remote system 118 constructedaccording to the invention. A user holds one of several hand-helddevices 122 which provide both display capability and transmit/receivecapability to a remote relay 124, e.g., a cellular or radiowavecommunication relay. The device 122 thus operates as the remote port 16of FIG. 1. The device 122 can additionally include a GPS receiver toaccurately determine the user's positional coordinates in real-time, ora PCM CIA Type II or Type III modem interface which can be miniaturizedto credit card size. Alternatively, the user can specify his positioncoordinates and transmit that information to the database 12 e. In thisillustrated embodiment, the system 118 continually redefines thegeo-definition of the geographic vicinity based upon the positionalcoordinates of the user. Data is assembled and maintained using thepositional coordinates to generate a map of the geographic vicinityrelative to the user and including the locations of the items ofinterest. As above, this geographic vicinity is assumed to be within awalking distance of the user; however, the user can select a greaterradius for display, or another destination location, as needed.

[0074] The invention generally incorporates software to facilitate theseveral embodiments described herein and to support the principles ofthe invention. As known to those in the art, the data within thedatabase can be maintained, for example, on a SQL-server, or in xBASE.The software is preferably portable to other operating systems, such asto Apple, Apple/IBM, Unix, DEC, OS/2, DOS, Windows 3.1, Windows '95; andpreferably allows scalability to 64-bit architectures and greater, astechnology advances.

[0075] In accord with the invention, software code supporting thedatabase interaction with the remote port can include object-orientedprogramming, Visual Basic, and other software architectures configuredto allow user interaction, portability to other platforms, interfacewith the internet or other gateways, and relational management.

[0076]FIG. 9 illustrates one embodiment of database architecture 130which is suitable for use as the database 12 of FIG. 1. Specifically,the architecture 130 includes separate phone and fax interfaces, 131,132, respectively, to interface with any one of the remote ports, e.g.,the port 16 of FIG. 1. FIG. 10 illustrates system architecture includingdatabase architecture 140 and remote port architecture 141 connected viaa pair of phone lines 142, 143 to, respectively, a touch-tone phone 142a and fax machine 143 a. In this manner, a user 144 can make requestsand listen to responses on the phone 142 a, and receive maps andinstructions via the fax machine 143 a.

[0077] Other modules within the database architectures 130 and/or 140include the following:

[0078] Communications managers 133, 133′ (FIGS. 9 and 10, respectively)handle all data transfers for a single internal modem (or telephoneinterface controller) 131 in the host database, e.g., a personalcomputer. It responds to remote requests for data by passing therequests to a session manager 138, and handles all modem control issues,such as answering incoming calls. The communications manager 133′ ofFIG. 10 is configured to service users who access the database from aremote port comprising a dial-up telephone 142 a. As such, the manager133′ translates touch-tone inputs into data and fax transmissionrequests to be sent to the session manager 138, and monitors the line142 for time-outs when a user 144 forgets to actively disconnect. Themanager 133′ can also translate data from the session manager 138into—synthesized voice output for presentation to an end user 144.

[0079] The fax manager 134 handles all requests from the session manager138 to fax and receive documents to and from end users connected througha communications link.

[0080] Because there generally are a plurality of remote ports arrangedfor access to the system database, there are preferably a plurality ofcommunications managers 133 and modems 131 to service requests from theremote ports. Likewise, although the database generally includes one faxmanager 134 and one interface 132, a plurality of fax managers 134 andfax machine interfaces 132 can be incorporated therein. Accordingly, thehost database can answer and service a variety of remote portssimultaneously.

[0081] The session manager 138 tracks and controls information for eachactive session being hosted by the database architecture. It responds torequests for data passed to it by each communications manager 133operating in the database architecture, and prioritizes, queues, andforwards these data requests to the end user data server 136. Themanager 138 also forwards data requests to the system data server 137(FIG. 9 only) to log certain system information, such as user connectiontimes, errors, system utilization, and other administrative functions.

[0082] In FIGS. 9 and 10, database storage memory 139 stores informationwhich is accessible by the end user data server 136 and which isresponsive to user requests, including the selected city, locations ofitems of interest, maps of geographic vacinities, and advertisinginformation. In FIG. 10, an additional database storage memory 139 astores information which is accessible by the system data server 137 andwhich stores information such as system usage and transaction logging.

[0083] The end user data server 136 responds to requests from thesession manager 138 by providing data that has been requested fortransmission to the remote port. This data includes that informationrequired to place items of interest on the selected geographic vicinity.Preferably, the end user data server 136 is the only mode of access tothe specific map data, and thus all requests for this data are madethrough this server.

[0084] In FIG. 9, the system data server 137 interacts with the sessionmanager 138 to record system administrative data. The server 137responds to requests from the session manager 138 to provide or recordinformation used to track system usage, system response times, userpreferences, and other data items that are used to optimize thedifferent modules within the architecture 130.

[0085] The flow and control of information by the information controller14, FIG. 1, can include several of the functions shown illustratively inFIG. 11. Specifically, a display manager 150 controls the drawing ofmaps (i.e., geographic vacinities) on the screen 22 and further controlsstatus messages to a user of the system. The manager 150 responds torequests for screen updates and status message display from a systemkernel module 159, described in more detail below. It also sendsrequests to a map manager 151 when rendering maps to the display, andsends requests to a data manager 152 in order to obtain systeminformation required to update the display 22 or to present statusmessages to the user.

[0086] A map manager 151 manages map data and provides data for drawingmaps to the display manager 150. The manager 151 responds to requestsfrom the display manager 150 by providing information appropriate to thecurrent context of the session, such as the graphical image (e.g., thegeographic vicinity and advertising information) that needs to bedisplayed, the locations on the screen 22 of the items of interest, andthe location and content of the titles of the items of interest.

[0087] A data manager 152 handles all data requests from the systemkernel module 159, map manager 151, and print manager 153, and furtherinterfaces to external data sources 155, 156 (these databases 155, 156store raw data as the database information). The manager 152 determinesthe need for remote data-access via a communications manager 157, andpasses on remote data requests to the manager 157. The manager 152 alsoprovides all data access services to other managers and modules withinthe controller 14. For example, if the data is not stored locally, thedata manager 152 sends a request to the communications manager 157 toprovide the desired data.

[0088] A print manager 153 handles and controls printing activities inthe system, such as to a connected printer 154 (similar to the printer110, FIG. 7C; or such as a printer connected directly to the database12). By way of example, the manager 153 requests map and other data fromthe data manager 152 to create and print outputs requested by the systemkernel module 159. Specifically, the manger 153 responds to requestsfrom the system kernel module 159 for print services, and sends requeststo the data manager 152 based upon the system kernel requests. Themanager 153 uses the information supplied by the data manager 152 tocreate formatted output for printing, such as by utilizing a standardWindows™ print driver interface to print the requested output.

[0089] The communications manager 157 handles all remote communicationsrequirements, including remote data requests, and further accepts andtransfers raw data from a remote data source 158 (such as data downloadsto modify or add to data within the database). The manager 157 respondsto requests from the system kernel module 159 for initialization,connection, and shutdown of remote connections appropriate with theactual hardware in use. It also responds to remote data requests fromthe data manager 152 by sending the request for remote data to theremote data source 158. When the remote data source 158 responds to therequest, the communications manager 157 passes that response on to thedata manager 152.

[0090] The system kernel module 159 traps all user inputs and determinesrequired actions in the system, including those actions responsive to auser's inputs 160 (such as described above in connection with thekeyboard 24). Specifically, the module 159 responds to mouse movements,mouse button clicking, and typing. Depending on the user's input, themodule 159 will send requests for services to (i) the display manager150 to update the display, (ii) the data manager 152 to provideinformation concerning the map and/or other system needs, (iii) theprint manager for printing services, and (iv) the communications manager157 for remote communications services.

[0091]FIG. 12 illustrates one preferred embodiment of the inventionwherein certain advertising information is included within, or attachedto, the geographic vicinity-which is displayed or printed to a user at aremote port. For example, FIG. 12 shows one illustrative geographicvicinity 30′ which was shown previously in FIG. 2, except that anadvertisement 180 is displayed as part of that vicinity (theadvertisement 180 is generically shown with the text “ADVERTISEMENT,”when, in fact, a paying customer's name or company is usually displayedat that location). In the normal use of the invention, the advertiserwho pays for the advertisement is generally associated with the items ofinterest being displayed. For example, a credit card bank or sportinggoods manufacturer typically specify (and pay for) the “advertisement”logo or wording.

[0092] It should be apparent to those skilled in the art that any of theitems of interest within a displayed geographic vicinity can be selectedby a user and that the database can thereafter supply additional detailabout that selected item of interest. In such an embodiment of theinvention, the database is configured to store such additional detailand also to transmit this information to the remote port when selected.The remote port, in turn, displays the information for the user. By wayof example, if the selected category is “restaurants” and a user selectsa particular restaurant (i.e., one of the items of interest), a displayof additional detail can, for example, include a digital picture of thelayout of the dining room or bar. Additionally, the entertainmentscheduled for that evening can be displayed while a recording of anyassociated music is played at the remote port's speakers.

[0093] Thus, a further embodiment of the invention includes a digitized,multi-media presentation that is transmitted to the remote port when anassociated item of interest is selected. Using a camrecorder and/orother video capture, storage, and editing analogue or digital devices,for example, a short video clip is embedded in the data associated withthe information about the items of interest and transmitted anddisplayed when selected.

[0094] In order to utilize the above-described multi-media presentation,the system of the invention must provide sufficient bandwidth,processing speed, and display resolution, and the remote port mustdisplay the multi-media transmissions with sufficient speed andresolution so as to be convenient to the user of that information.Typically, the minimum central processing unit of the database andremote port run at least at 16 MHZ and is based on a CISC (complexinstruction set) architecture. Further, the database, remote port andcommunications link should be able to transmit data at an uncompressedspeed of 9600 baud per second; preferably, these devices should befaster, e.g., 28.8 Kbps, utilizing modems that subscribe to emergingindustry standards such as V.34. Additionally, special connections maybe required at the server, including what are known to those skilled inthe art as SLIP, PPP, and TC/ICP protocols. In some cases, whereadditional bandwidth may be required, the modem is replaced with specialinterfaces provided by regional telecommunications systems that alsoprovide dedicated optic fiber cabling. Some of those linkages are knownas T1, ISDN, and 56 Kbps wide band-width connections. In addition,bandwidth may be enhanced by microwave and other communication linksthat do not require direct cabled connections.

[0095] Appendix A contains, for disclosure purposes, subject mattersetting forth non- limiting source code which is suitable forapplication with the invention. Appendix A is herein incorporated byreference.

[0096] The invention thus attains the objects set forth above, inaddition to those apparent from the preceding description. Since certainchanges may be made in the apparatus and methods described hereinwithout departing from the scope of the invention, it is intended thatall matter contained in the above description or shown in theaccompanying drawing be interpreted as illustrative and not in alimiting sense.

[0097] It is also understood that the following claims cover all thespecific and generic features of the invention described herein, and allstatements of the scope of the invention which, as a matter of language,might be said to fall there between. FULL CODE LISTING FOR VERSION 0.3OF IN_VICINITY LOCATOR Copyright 1994-95 OXKO Corporation SubAboutCivix_Click () frmAbout.Show 1 End Sub Sub cmbCategories_Click ()cmdUpdate.Enabled = True End Sub Sub cmbHeadings_Click () IfcurHeadingStr <> cmbHeadings.Text Then DeleteCategories curHeadingStr =cmbHeadings.Text GetHeadingIndex (curHeadingStr) GetCategories(curHeadingIndex) If NumberOfCategories > 0 Then curCategoryStr =CategorySet!Category GetCategoryIndex (curCategoryStr)CategorySet.MoveFirst For i = 1 To NumberOfCategories - 1cmbCategories.AddItem CategorySet!Category CategorySet.MoveNext NextcmbCategories.AddItem CategorySet!Category cmbCategories.Text =cmbCategories.List(0) cmdUpdate.Enabled = True End If End If End Sub SubcmdUpdate_Click () If ItemNamesOn = True Then TItemNamesOn = TrueHideNames (NumberOfItems) End If HideItems curCategoryStr =cmbCategories.Text GetCategoryIndex (curCategoryStr) Pane13D7.Caption =Cities(CurrentCityIndex).Name Pane13D9.Caption =Areas(CurrentLocation).Name Pane13D11.Caption = curCategoryStrcmdUpdate.Enabled = False ShowItems (curCategoryIndex) If TItemNamesOn =True Then ShowNames (NumberOfItems) End If lblPopItem.visible = FalseEnd Sub Sub cmdZoom_Click () lblPopCityArea.Visible = False If ZoomLevel= “City” Then ‘zoom up to country map If AreaNamesOn Then HideNames(NumberOfAreas) End If HideAreas ShowCities picMain.Picture =picUSA.Picture cmdZoom.Visible = False Panel3D1.Visible = FalsePane13D4.Visible = True lblUSMapCaption.Visible = False Panel3D7.Caption= “None” Panel3D9.Caption = “None” Panel3D11.Caption = “None”lblPopCityArea.Visible = False ZoomLevel = “Country”HelpShowNames.Checked = False If CityNamesOn Then ShowNames(NumberOfCities) End If End If If ZoomLevel = “Location” Then ‘zoom upto city map If ItemNamesOn Then HideNames (NumberOfItems) End IfpicMain.Picture = CityPicture.Picture cmdZoom.Caption = “U.S. Map”HideItems ShowAreas ‘show the areas on the map ZoomLevel = “City”picPort.Visible = False picMain.Visible = True Panel3D3.Visible = FalsecmbCategories.Visible = False cmbHeadings.Visible = FalsecmdUpdate.Visible = False Panel3D2.Visible = FalselblUSMapCaption.Visible = True p3DItemInfo.Visible = Falsep3DStreetAddLbl.Visible = False p3DStreetAdd.Visible = Falsep3DPhoneLbl.Visible = False p3DPhone.Visible = False p3DFaxLbl.Visible =False p3DFaxNumbem.Visible = False ‘p3DDescLbl.Visible = False‘p3DDescription.Visible = False picSponsorAd.Visible = FalsecurCategoryStr = ″″ Panel3D9.Caption = “None” Panel3D11.Caption = “None”HelpShowNames.Checked = False If AreaNamesOn Then ShowNames(NumberOfAreas) End If End If End Sub Sub FileExit_Click () End End SubSub FilePrint_Click () CMDialogl.CancelError = True On Error GoToErrHandler CMDialogl.Action = 5 PrintForm ErrHandler: Exit Sub End SubSub Form_Load () ReDim Cities(1) ‘delivery only ‘Set DB =OpenDatabase(“civix.mdb”) ‘development only Set DB =OpenDatabase(“t:\client\civix\proto\current\civix.mdb”) Set GlobalSet =DB.CreateDynaset(“SELECT * from Globals”) PortXPix =GlobalSet!PortPixelsX PortYPix = GlobalSet!PortPixelsY CityXPix =GlobalSet!CityPixelsX CityYPix = GlobalSet!CityPixelsY PortXGrid =GlobalSet![Port Width] PortYGrid = GlobalSet![Port Height] ‘MsgBox “XP:” & PortXPix & “YP: ” & PortYPix & “XG: ” & PortXGrid & “YG: ” &PortYGrid Set CitySet = DB.CreateDynaset(“CitySet”) Panel3D7.Caption =“None” Panel3D9.Caption = “None” Panel3D11.Caption = “None”GetNumberOfCities GetCities PixelsWide = Form1.picMain.Width + 10PixelsHigh = Form1.picMain.Height + 15 ZoomLevel = “Country” End Sub SubHelpShowNames_Click () Select Case ZoomLevel Case “Country” IfCityNamesOn Then HideNames (NumberOfCities) CityNamesOn = False ElseShowNames (NumberOfCities) CityNamesOn = True End If Case “City” IfAreaNamesOn Then HideNames (NumberOfAreas) AreaNamesOn = False ElseShowNames (NumberOfAreas) AreaNamesOn = True End If Case “Location” IfItemNamesOn Then HideNames (NumberOfItems) ItemNamesOn = False ElseShowNames (NumberOfItems) ItemNamesOn = True End If End Select End SubSub HideNames (NumNames) HelpShowNames.Checked = False Select CaseZoomLevel Case “Country” For i = 1 To NumNames Unload LabelName(i) NextCase “City” For i = 1 To NumNames Unload LabelName(i) Next Case“Location” For i = 1 To NumNames Unload LabelNameb(i) Next End SelectEnd Sub Sub MoveToAreaMap (Index As Integer) If CityNamesOn = True ThenHideNames (NumberOfCities) End If picCityPick(Index).BackColor = &HO&picUSA.Picture = picMain.Picture CityBmpName = GetCityBmpName(Index)‘use the next line for delivery only ‘picMain.Picture = LoadPicture(CityBmpName) ‘use the next line during development only picMain.Picture= LoadPicture(“t;\client\civix\proto\current\” & CityBmpName) HideCitiesCurrentCityKey = Cities(Index).Key CurrentCityIndex = IndexPanel3D7.Caption = Cities(Index).Name Pane3D9.Caption = “None”Panel3D11.Caption = “None” lblUSMapCaption.Visible = True ShowAreascmdZoom.Caption = “U.S. Map” lblPopCityArea.Visible = FalselblPopItem.Visible = False ZoomLevel = “City” If AreaNamesOn = True ThenShowNames (NumberOfAreas) End If End Sub Sub MoveToLocationMap (Index AsInteger) If AreaNamesOn = True Then HideNames (NumberOfAreas) End IflblPopCityArea.Visible = False lblPopItem.Visible = FalsepicCityPick(Index).BackColor = &HO& Form1.Mousepointer = 1CityPicture.Picture = picMain.Picture AreaBmpName =GetAreaBmpName(Index) ‘use the next line for delivery only‘picMain.Picture = LoadPicture(AreaBmpName) ‘use the next line duringdevelopment only picPort.Picture =LoadPicture(“t:\client\civix\proto\current\” & AreaBmpName)CurrentLocation = Index HideAreas lblUSMapCaption.Visible = Falsep3DItemInfo.Visible = True p3DStreetAddLbl.Visible = Truep3DPhoneLbl.Visible = True p3DFaxLbl.Visible = True ‘p3DDescLbl.Visible= True picSponsorAd.Visible = True p3DStreetAdd.Visible = Truep3DPhone.Visible = True p3DFaxNumber.Visible = Truep3DDescription.Visible = True p3DStreetAdd.Caption = “” p3DPhone.Caption= “” p3DFaxNumber.Caption = “” p3DDescription.Caption = “”p3DItemInfo.Caption = “Item Data” Panel3D2.Visible = TruePanel3D3.Visible = True Panel3D5.Visible = True cmdUpdate.Visible = TruepicPort.Height = PortYPix picPort.Width = PortXPix picPort.Visible =True picMain.Visible = False cmbCategories.Visible = TruecmbCategoriee.Clear cmbHeadings.Visible = True cmbHeadings.ClearGetHeadings If NumberOfHeadings > 0 Then HeadingsSet.MoveFirst For i = 1To NumberOfHeadings − 1 cmbHeadings.AddItem HeadingsSet!HeadingHeadingsSet.MoveNext Next cmbHeadings.AddItem HeadingsSet!HeadingcurHeadingStr = cmbHeadLngs.List(0) cmbHeadings.Text =cmbHeadings.List(0) End If GetHeadingIndex (curHeadingStr) GetCategories(curHeadingIndex) If NumberOfCategories > 0 Then CategorySet.MoveFirstFor i = 1 To NumberOfCategories − 1 cmbCategories.AddItemCategorySet!Category CategorySet.MoveNext Next cmbCategories.AddItemCategorySet!Category cmbCategories.Text = cmbCategories List (0)CategorySet.MoveFirst curCategoryStr = cmbCategories.TextGetCategoryIndex (curCategoryStr) ShowItems (curCategoryIndex) End IfPanel3D7.Caption = Cities(CurrentCityIndex).Name Panel3D9.Caption =Areas(CurrentLocation).Name Panel3D11.Caption = curCategoryStrcmdZoom.Caption = Cities(CurrentCityIndex).Name & “Map” ZoomLevel =“Location” If ItemNamesOn = True Then ShowNames (NumberOfItems) End IfEnd Sub Sub picAreaPick_Click (Index As Integer) MoveToLocationMap(Index) End Sub Sub picAreaPick_GotFocus (Index As Integer)picAreaPick(Index).BackColor = &HO& If Not AreaNamesOn ThenlblPopCityArea.Caption = Areas(Index).Name top1 = picAreaPick(Index).Topleft1 = picAreaPick(Index).Left + 10 If (left1 + lblPopCityArea.Width) >picMain.Width Then left1 = picMain.Width − lblPopCityArea.Width top1 =top1 − 20 End If If top1 < 0 Then top1 = top1 + 10 End IflblPopCityArea.Top = top1 top1 = top1 − 30 End If If top1 < 0 Then top1= top1 + 10 End If lblPopCityArea.Top = top1 lblPopCityArea.Left = left1lblPopCityArea.Visible = True End If End Sub Sub picCityPick_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii =43 Then MoveToAreaMap (Index) End If End Sub Sub picCityPick_LostFocus(Index As Integer) picCityPick(Index).BackColor = &HFFFFFF End Sub SubpicCityPick_MouseMove (Index As Integer, Button As Integer, Shift AsInteger, X As Single, Y As Single) Form1.MousePointer = 10picCityPick(Index).SetFocus End Sub Sub picItemPick_GotFocus (Index AsInteger) picItemPick(Index).BackColor = &HO& If Not ItemNamesOn ThenlblPopItem.Caption = Items(Index).Name top1 = PicItemPick(Index).Topleft1 = picItemPick(Index).Left + 10 If (left1 + lblPopItem.Width) >picPort.Width Then left1 = picPort.Width − lblPopItem.Width top1 =top1 + 10 End If If top1 < 0 Then top1 = top1 + 10 End If lblPopItem.Top= top1 lblPopItem.Left = left1 lblPopItem.Visible = Truep3DStreetAdd.Caption = Items(Index).StreetAdd p3DPhone.Caption =Items(Index).Phone p3DFaxNumber.Caption = Items(Index).Faxp3DDescription.Caption = Items(Index).Description p3DItemInfo.Caption =“Item Data for” & Items(Index).Name End If End Sub SubpicItemPick_LostFocus (Index As Integer) picItemPick(Index).BackColor =&HFFFFFF End Sub Sub picItemPick_MouseMove (Index As Integer, Button AsInteger, Shift As Integer, X As Single, Y As Single) Form1.Mousepointer= 10 picItemPick(Index).SetFocus End Sub Sub picMain_Click () Beep EndSub Sub picMain_MouseMove (Button As Integer, Shift As Integer, X AsSingle, Y As Single) Form1.MousePointer = 1 End Sub Sub picPort_Click ()Beep End Sub Sub picPort_MouseMove (Button As Integer, Shift As Integer,X As Single, Y As Single) Form1.MousePointer = 1 End Sub Sub ShowNames(NumNames) lblPopCityAreaVisible = False lblPopItem.Visible = FalseHelpShowNames.Checked = True Select Case ZoomLevel Case “Country” For i= 1 To NumNames Load LabelName(i) LabelName(i).Caption = Cities(i).Nametop1 = picCityPick(i).Top left1 = picCityPick(i).Left + 10 If top1 < 0Then top1 = top1 + 4 End If LabelName(i).Top = top1 LabelName(i).Left =left1 LabelName(i).Visible = True Next Case “City” For i = 1 To NumNamesLoad LabelName(i) LabelName(i).Caption = Areas(i).Name top1 =picAreaPick(i).Top left1 = picAreaPick(i).Left + 10 If top1 < 0 Thentop1 = top1 + 4 End If LabelName(i).Top = top1 LabelName(i).Left = left1LabelName(i).Visible = True Next Case “Location” For i = 1 To NumNamesLoad LabelNameb(i) LabelNameb(i).Caption = Items(i).Name top1 =picItemPick(i).Top left1 = picItemPick(i).Left + 10 If top1 < 0 Thentop1 = top1 + 4 End If LabelNameb(i).Top = top1 LabelNameb(i).Left =left1 LabelNameb(i).Visible = True Next End Select End Sub SubcmdAboutOK_Click () frmAbout.Hide End Sub ‘ ‘ Copyright 1994 The OXKOCorporation ‘ ‘ This software developed by The OXKO ‘ ‘ Corporation forCIVIX. The ownership ‘ ‘ of the software shall tranfer to CIVIX ‘ ‘ uponpayment as arranged. ‘ Global NumberOfCities As Long GlobalNumberOfAreas As Long Global NumberOfItems As Long GlobalNumberOfCategories As Long Global NumberOfHeadings As Long GlobalZoomLevel As String Global CitySet As Dynaset Global AreaSet As DynasetGlobal ItemSet As Dynaset Global CategorySet As Dynaset GlobalHeadingsSet As Dynaset Global GlobalSet As Dynaset GlobalCurrentCityIndex As Long Global CurrentLocation As Long GlobalCurrentCityKey As Long Global curCategoryStr As String GlobalcurCategoryIndex As Integer Global curHeadingStr As String GlobalcurHeadingIndex As Integer Global Db As Database Type CityRecord Name AsString MapName As String Key As Long XCoord As Long YCoord As LongMaxXGrid As Long MaxYGrid As Long End Type Type AreaRecord Name AsString MapName As String XCoord As Long YCoord As Long End Type TypeItemRecord Name As String StreetAdd As String Key As Long Category AsString XCoord As Long YCoord As Long Directions As String Description AsString Phone As String Fax As String OwnerManager As String Title AsString OtherAddress As String End Type Global Cities() As CityRecordGlobal Areas() As AreaRecord Global Items() As ItemRecord GlobalCityBmpName As String ‘ bitmap for a city Global AreaBmpName As String ‘bitmap for a intersectional point Global CityNamesOn As Integer GlobalAreaNamesOn As Integer Global ItemNamesOn As Integer Global PortXPix AsInteger Global PortYPix As Integer Global CityXPix As Integer GlobalCityYPix As Integer Global PortXGrid As Integer Global PortYGrid AsInteger Sub DeleteCategories () CategorySet.CloseForm1.cmbCategories.Clear End Sub Function GetAreaBmpName (Index AsInteger) GetAreaBmpName = Areas(Index).MapName End Function SubGetCategories (Key As Integer) Set CategorySet =Db.CreateDynaset(“SELECT DISTINCTROW Categories.Category,Categories.Index FROM Categories WHERE (Categories.Heading = “ & Key &”) WITH OWNERACCESS OPTION; ”) If Not CategorySet.EOF ThenCategorySet.MoveLast NumberOfCategories = CategorySet.RecordCountCategorySet.MoveFirst ‘MsgBox “Cats : ” & NumberOfCategories Else MsgBox“No Items for this Heading!” End If End Sub Sub GetCategoryIndex(curCategoryStr As String) CategorySet.MoveFirst While NotCategorySet.EOF If CategorySet!Category = curCategoryStr ThencurCategoryIndex = CategorySet!Index End If CategorySet.MoveNext WendEnd Sub Sub GetCities () Index = 1 CitySet.MoveFirst While NotCitySet.EOF Cities(Index).MapName = CitySet!FileName Cities(Index).Key =CitySet!CityKey Cities(Index).Name = CitySet!Name Cities(Index).XCoord =CitySet!XCoord Cities(Index).YCoord = CitySet!YCoordCities(Index).MaxXGrid = CitySet!MaxXGrid Cities(Index).MaxYGrid =CitySet!MaxYGrid Load Form1.picCityPick(Index)Form1.picCityPick(Index).Top = Cities(Index).YCoordForm1.picCityPick(Index).Left = Cities(Index).XCoordForm1.picCityPick(Index).Visible = True CitySet.MoveNext Index = Index +1 Wend End Sub Function GetCityBmpName (Index As Integer) GetCityBmpName= Cities(Index).MapName End Function Sub GetHeadingIndex (HeadingStr AsString) HeadingsSet.MoveFirst While Not HeadingsSet.EOF IfHeadingsSet!Heading HeadingStr Then curHeadingIndex = HeadingsSet!IndexEnd If HeadingsSet.MoveNext Wend End Sub Sub GetHeadings () SetHeadingsSet = Db.CreateDynaSet(“SELECT DISTINCTROW CatHeadings.Heading,CatHeadings.Index FROM CatHeadings WITH OWNERACCESS OPTION;”) If NotHeadingsSet.EOF Then HeadingsSet.MoveLast NumberOfHeadings =HeadingaSet.RecordCount HeadingsSet.MoveFirst curHeadingStr =HeadingsSet!Heading Else MsgBox “No Headings!” End If End Sub SubGetNumberofCities () If Not CitySet.EOF Then CitySet.MoveLastNumberOfCities = CitySet.RecordCount Else MsgBox “No Cities, cannotcontinue” End End If ReDim Cities (NumberOfCities) End Sub Sub HideAreas() If NumberOfAreas > 0 Then For i = 1 To NumberOfAreasForm1.picAreaPick(i).Visible = False Next End If End Sub Sub HideCities() Form1.cmdZoom.Visible = True Form1.Panel3Dl.Visible = TrueForm1.Panel3D4.Visible = False For i = 1 To NumberOfCitiesForm1.picCityPick(i).Visible = False Next End Sub Sub HideItems () For i= 1 To NumberOfItems Unload Form1.picItemPick(i) Next ReDim Items(1)NumberOfItems = 0 End Sub Sub ShowAreas () If NumberOfAreas > 0 Then Fori = 1 To NumberOfAreas Unload Form1.picAreaPick(1) Next ReDim Areas(1)NumberOfAreas = 0 End If Set AreaSet = Db.CreateDynaset(“SELECTLocations.City, Locations.Name, Maps.FileName, Locations.LocationKey,GridCoord.XCoord, GridCoord.YCoord FROM Locations, Maps, GridCoord,Locations LEFT JOIN Maps ON Locations.MapName = Maps.Name, LocationsLEFT JOIN GridCoord ON Locations.GridLoc = GridCoord.GridKey where city= “ & CurrentCityKey & ” WITH OWNERACCESS OPTION;”) If Not AreaSet.EOFThen AreaSet.MoveLast NumberOfAreas = AreaSet.RecordCount Else Exit SubEnd If ReDim Areas (NumberOfAreas) Index = 1 AreaSet.MoveFirst While NotAreaSet.EOF Areas(Index).MapName = AreaSet!FileName Areas(Index).Name =AreaSet!Name Areas(Index).XCoord = AreaSet!XCoord Areas(Index).YCoord =AreaSet!Ycoord Load Form1.picAreaPick(Index) ‘MsgBox “CityXPix: ” &CityXPix & “ CityYPix: ” & “CityYPix ‘MsgBox “CityMaxX: ” &Cities(CurrentCityIndex).MaxXGrid & “ CityYMax: ” &Cities(CurrentCityIndex).MaxYGrid ‘MsgBox “X: ” & Areas(Index).XCoord &“ Y: ” & Areas(Index).YCoord Form1.picAreaPick(Index).Left = CityXPix *(Areas(Index).XCoord / Cities(CurrentCityIndex).MaxXGrid)Form1.picAreaPick(Index).Top = CityYPix * (Areas(Index).YCoord /Cities(CurrentCityIndex).MaxYGrid) Form1.picAreaPick(Index).Visible =True AreaSet.MoveNext Index = Index + 1 Wend End Sub Sub ShowCities ()Form1.cmdZoom.Visible = False Form1.panel3D1.Visible = FalseForm1.Panel3D4.Visible = True For i = 1 To NumberOfCitiesForm1.picCityPick(i).Visible = True Form1.picCityPick(i).BackColor =&HFFFFFF Next End Sub Sub ShowItems (Key As Integer) MaxX =Areas(CurrentLocation).XCoord + Int(.5 * PortXGrid)−1 MinX =Areas(CurrentLocation).XCoord − Int(.5 * PortXGrid) MaxY =Areas(CurrentLocation).YCoord + Int(.5 * PortYGrid)−1 MinY =Areas(CurrentLocation).YCoord − Int(.5 * PortYGrid) Set ItemSet =Db.CreateDynaset(“SELECT DISTINCTROW Items.Name, Items.Description,Items.Directions, Items.ItemKey, GridCoord.XCoord, GridCoord.YCoord,Items.StreetAdd, Items.Phone, Items.Fax, Items.OwnerManager,Items.Title, Items.OtherAddress, Categories.Index FROM Items,Categories, Cities, GridCoord, CatsForItems, Cities LEFT JOIN Items ONCities.CityKey = Items.CityKey, Items LEFT JOIN GridCoord ONItems.GridLoc = GridCoord.GridKey, Items LEFT JOIN CatsForItems ONItems.ItemKey = CatsForItems.ItemRef, CatsForItems LEFT JOIN CategoriesON CatsForItems.catRef = Categories.Index WHERE ((Cities.CityKey = “ &CurrentCityKey & ”) And (Categories.Index = “ & Key & ”) And(GridCoord.XCoord <= “ & MaxX & ”) And (GridCoord.XCoord >= “ & Minx &”) And (GridCoord.YCoord <= “ & MaxY & ”) And (GridCoord.YCoord >= “ &MinY & ”)) WITH OWNERACCESS OPTION;”) If Not ItemSet.EOF ThenItemSet.MoveLast NumberOfItems = ItemSet.RecordCount ‘MsgBox “ Items: ”& NumberOfItems Else ‘MsgBox “No Items for this Category!” Exit Sub EndIf ReDim Items (NumberOfItems) Index = 1 ItemSet.MoveFirst While NotItemSet.EOF Items(Index).Key = ItemSet!ItemKey Items(Index).Name =ItemSet!Name Items(Index).Description = ItemSet!DescriptionItems(Index).Directions = ItemSet!Directions Items(Index).XCoord =ItemSet!XCoord Items(Index).YCoord = ItemSet!YCoordItems(Index).StreetAdd = ItemSet!StreetAdd Items(Index).Phone =ItemSet!Phone Items(Index).Fax = ItemSet!Fax Items(Index).OwnerManager =ItemSet!OwnerManager Iteme(Index).Title = ItemSet!TitleItems(Index).OtherAddress = ItemSet!OtherAddress LoadForm1.picItemPick(Index) Form1.picItemPick(Index).Top =Int((((Items(Index).YCoord − Areas(CurrentLocation).YCoord) /PortYGrid) + .5) * (PortYPix)) Form1.picItemPick(Index).Left =Int((((Items(Index).XCoord − Areas(CurrentLocation).XCoord) /PortXGrid) + .5) * (PortXPix)) ‘MsgBox “ Top : ” &Form1.picItemPick(Index).Top & ” Left: “ & Form1.picItemPick(Index).LeftForm1.picItemPick(Index).Visible = True ItemSet.MoveNext Index = Index +1 Wend End Sub Sub Timer1_Timer () Form1.Show 0 Splash.HideTimer1.Enabled = False Unload Splash End Sub

What is claimed is:
 1. System for remotely determining the position of aselected category of items of interest in a selected geographic vicinityfrom a database, the system comprising (A) a database for storinginformation about a plurality of items of interest, the informationincluding, for each of the items of interest, a geographical positionand at least one associated category, (B) a communications link forcommunicating between a user of the system and the database, (C) aninformation controller for transmitting a portion of the information inthe database to the user via the link upon receipt of a request signalrepresentative of a selected category and geographic vicinity, thetransmitted portion of the information including identification ofgeographic position for at least one of the items of interest within theselected category and geographic vicinity, and (D) a port for remotelyaccessing the portion of information via the link, the port generatingthe request signal in response to inputs by the user which arerepresentative of the selected category and geographic vicinity, theport having a user interface for accepting the inputs and for indicatingto the user the position at least one of the items of interest in theselected category and geographic vicinity.
 2. System according to claim1 , wherein the link comprises a telephone link.
 3. System according toclaim 1 , wherein the link comprises a satellite link.
 4. Systemaccording to claim 1 , wherein the link comprises a radio-frequencylink.
 5. System according to claim 1 , wherein the link comprises aninfra-red link.
 6. System according to claim 1 , wherein the linkcomprises an Internet link.
 7. System according to claim 1 , wherein thedatabase is selected from the group consisting of a personal computer,mainframe, work-station, mini-computer, and a digital data processor. 8.System according to claim 1 , wherein the port comprises a phone. 9.System of claim 8 , wherein the communications link comprises a cellularcommunications link.
 10. System of claim 1 , wherein the port comprisesan audible speaker.
 11. System of claim 1 , wherein the port comprises apersonal computer.
 12. System of claim 11 , wherein the communicationslink comprises the Internet.
 13. System according to claim 1 , whereinthe geographic vicinity comprises spatial detail of the items ofinterest.
 14. System according to claim 1 , wherein the geographicvicinity comprises a map of the items of interest in the selectedcategory and geographic vicinity.
 15. System according to claim 1 ,wherein the port interprets the inputs by the user and formulates theinputs into the request signal.
 16. System according to claim 1 ,wherein the database interprets certain of the inputs at the port asitems or interest and for transposing such inputs into a selectedcategory automatically.
 17. System of claim 1 , further comprising aplurality of ports, each of the plurality of ports having a userinterface for accessing at least part of the information from thedatabase in response to user inputs at the user interface.
 18. Systemaccording to claim 1 , wherein the portion of information comprisesadditional detail for at least one of the items of interest.
 19. Systemaccording to claim 18 , wherein the additional detail comprises video.20. System of claim 19 , wherein the communications link comprises theInternet.
 21. System of claim 19 , wherein the communications linkcomprises cellular communications.
 22. System according to claim 18 ,wherein the additional detail comprises prerecorded music.
 23. System ofclaim 22 , wherein the communications link comprises the Internet. 24.System of claim 22 , wherein the communications link comprises cellularcommunications.
 25. System according to claim 18 , wherein theadditional detail comprises digital pictures.
 26. System of claim 25 ,wherein the communications link comprises the Internet.
 27. System ofclaim 25 , wherein the communications link comprises cellularcommunications.
 28. System according to claim 18 , wherein theadditional detail comprises an advertisement.
 29. System of claim 28 ,wherein the communications link comprises the Internet.
 30. System ofclaim 28 , wherein the communications link comprises cellularcommunications.
 31. System according to claim 1 , wherein theinformation comprises an advertisement associated with at least one ofthe items of interest.
 32. System according to claim 1 , wherein theinformation comprises a plurality of geographic vicinities, the porthierarchically selecting any of the vicinities via the user interface.33. Database for storing information about a plurality of items ofinterest, the information including, for each of the items of interest,a geographic position and at least one associated category, comprising(A) a communications link for communicating between the database and aplurality of remote ports, and (B) an information controller fortransmitting a portion of the information to at least one of the portsvia the link upon receipt of a request signal representative of aselected category and geographic vicinity, the transmitted portion ofthe information including identification of a position for at least oneof the items of interest within the selected category and geographicvicinity.
 34. Database according to claim 33 , wherein the linkcomprises a telephone link.
 35. Database according to claim 33 , whereinthe link comprises a satellite link.
 36. Database according to claim 33, wherein the link comprises a radio-frequency link.
 37. Databaseaccording to claim 33 , wherein the link comprises an infra-red link.38. Database according to claim 33 , wherein the link comprises anInternet link.
 39. Database according to claim 33 , wherein the linkcomprises a coaxial cable link.
 40. Database according to claim 33 ,wherein the link comprises a television link.
 41. Database according toclaim 33 , further comprising at least one port for generating therequest signal in response to user inputs, the port being selected fromthe group of phones and computers.
 42. Database according to claim 33 ,wherein the identification at least one of the items of interestcomprises spatial detail of the one item of interest.
 43. Databaseaccording to claim 33 , wherein the portion of information comprises amap of the items of interest in the selected category and geographicvicinity.
 44. Database according to claim 33 , wherein the informationcomprises additional detail for at least one of the items of interest.45. Database according to claim 33 , wherein the information comprisesan advertisement associated with at least one of the items of interest.46. Database according to claim 33 , wherein the information comprises aplurality of geographic vicinities, a user at any of the remote portshierarchically accessing the vicinities through user inputs at theremote port.
 47. Remote access port for remotely accessing a selectedcategory of items of interest in a selected geographic vicinity from aremote database, the database being of the type which stores informationabout a plurality of items of interest, the information including, foreach of the items of interest, a geographical location and at least oneassociated category, the remote access port generating a request signalrepresentative of a selected category and a selected geographic vicinityof the items of interest in response to inputs by the user, the remoteaccess port having a user interface for accepting the inputs and forindicating to the user the position of at least one of the items ofinterest within the selected category and geographic vicinity. 48.Remote access port according to claim 47 , wherein the user interfacecomprises a television.
 49. Remote access port according to claim 47 ,wherein the user interface comprises a telephone.
 50. Remote access portaccording to claim 47 , wherein the user interface comprises afacsimile.
 51. Remote access port according to claim 47 , wherein theuser interface comprises an audible speaker.
 52. Remote access portaccording to claim 47 , wherein the user interface comprises a personalcomputer.
 53. Remote access port according to claim 47 , wherein theuser interface comprises a phone connected to the database via acommunications link, the link comprising a cellular communications link.54. Remote access port according to claim 47 , wherein the portinterprets certain of the inputs as items or interest and transposessuch inputs into a selected category automatically.
 55. Remote accessport according to claim 47 , wherein the information comprisesadditional detail for at least one of the items of interest.
 56. Remoteaccess port according to claim 47 , wherein the information comprises anadvertisement associated with at least one of the items of interest. 57.Remote access port according to claim 47 , wherein the informationcomprises a plurality of geographic vicinities, a user at the porthierarchically selecting any of the vicinities via user inputs.
 58. Amethod for remotely determining the position of each of a selectedcategory of items of interest in a selected geographic vicinity from adatabase, comprising the steps of: (i) storing information about aplurality of items of interest in the database, the informationincluding, for each of the items of interest, a geographic location andat least one associated category; (ii) accessing the database from aremote port and over a communication link; (iii) communicating, from theremote port, information representative of a selected category and aselected geographic vicinity to the database; and (iv) transmitting aportion of the information from the database and to the user over thelink, the information including, at least, identification of theposition for one or more of the items of interest within the selectedgeographic vicinity.
 59. A method according to claim 58 , wherein thesteps of communicating further comprises communicating over a cellularcommunications link.
 60. A method according to claim 59 , wherein thestep of accessing comprises accessing the database through a phone. 61.A method according to claim 58 , wherein the step of communicatingfurther comprises communicating over the Internet.
 62. A methodaccording to claim 58 , wherein the step of transmitting a portion ofthe information further comprises the step of communicating over acellular communications link.
 63. A method according to claim 58 ,wherein the step of transmitting a portion of the information furthercomprises the step of communicating over the Internet.